<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<link rel="stylesheet" type="text/css" href="../../css/mui.min.css" />
		<script src="../../js/mui.min.js" type="text/javascript" charset="utf-8"></script>
		<style>
			.main_content p {
				font-size: 1em;
				color: black;
				text-indent: 2em;
				padding: 6px;
			}
			.main_content img {
				padding: 8px;
			}
			.sub_header {
				text-align: center;
				background-color: rgba(0, 188, 0, 0.7);
				height: 36px;
				margin-top: 8px;
				margin-bottom: 8px;
			}
			.sub_header h3 {
				color: white;
				position: relative;
				top: 20%;
				transform: translateY(-50%);
			}
		</style>
	</head>

	<body>
		<header class="mui-bar mui-bar-nav">
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
			<h1 class="mui-title">Java 基础</h1>
		</header>
		<div class="mui-content">
			<div class="mui-content-padded" style="margin: 5px;">
				<div class="sub_header">
					<h3>String字符串</h3>
				</div>
				<div class="main_content">
					<p>String类是使用非常频繁的一个类，之前已经有所涉及，接下来我们进行详绅讲解。
						<br /> [code=img]basic_string/01_string.png[/code]
						<br /> 注：
						<br /> 1、char[]就是一串字符，Java中可以作为字符串。
						<br /> 2、s1.concat()方法的底层实现原理就是用数组复制完成的。
						<br /> 3、请参照API帮助文档，理解第10步~第13步（或将鼠标停在方法上，Eclipse工具提示）。
						<br /> 程序执行内存原理图，如下所示：
						<br /> 第7行
						<br /> [code=img]basic_string/01_string2.png[/code]
						<br /> 第8行
						<br /> [code=img]basic_string/01_string3.png[/code]
						<br /> 第10行-第11行
						<br /> [code=img]basic_string/01_string4.png[/code]
						<br /> 第12行-第13行
						<br /> [code=img]basic_string/01_string5.png[/code]
						<br /> 第17行
						<br /> [code=img]basic_string/01_string6.png[/code]
						<br /> 第18行
						<br /> [code=img]basic_string/01_string7.png[/code]
						<br /> 第19行
						<br /> [code=img]basic_string/01_string8.png[/code]
						<br /> [color=blue]String字符串
						<br /> 1) String类：数据+相关的操作，即char[ ]+操作。
						<br /> 1、char数组只是数据，没有操作。
						<br /> 2、一串字符就是字符串：char[]、String、StringBuilder。
						<br /> 3、字符串的&rdquo;字面量&ldquo;（也叫直接量），都是String类型实例。
						<br /> 4、&ldquo;字符串常量&rdquo;:static final修饰的变量。
						<br /> public static final String TYPE = &quot;car&quot; //TYPE被称为常量，&ldquo;car&rdquo;是字面量。
						<br /> 5、String内部就是一个char[]。
						<br /> 2) String API 有一个实现原则：对象内容永远不变，也就是说String对象永远不变。
						<br /> 这样的规定使字符串使用起来和基本类型相同
						<br /> 3) String字面量相同时，会替换为同一个String对象的引用，常量连接的结果也被优化为一个字符串。
						<br /> 4) String 的比较，使用equals。
						<br /> 5) String API（字符串的常用方法）。
						<br /> 1、字符串覆盖了equals() hashCode() toString()。
						<br /> 2、String字符串中的字符是有序号的，从0开始。
						<br /> 3、这些方法如果字符串有变化就返回新的String对象，不变化就返回原字符串。如: trim()。
						<br /> API 方法
						<br /> [code=java]
						<br /> charAt()
						<br /> length()
						<br /> trim()
						<br /> toLowerCase()
						<br /> toUpperCase()
						<br /> indexOf()
						<br /> lastIndexOf()
						<br /> endsWith()
						<br /> startsWith()
						<br /> substring(int start, int end)
						<br /> substring(int start)
						<br /> toCharArray() 字符串和字符可以相互转换
						<br /> String str = new String(new char[]{&#39;1&#39;,&#39;2&#39;,&#39;3&#39;});&nbsp;
						<br /> char[] chs = str.toCharArray();
						<br /> [/code]
					</p>

				</div>
			</div>
		</div>

	</body>

</html>